package repository;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

import models.Cliente;
import util.ConnectionFactory;

public class RepositorioCliente implements IRepositorioCliente {

	// ---------------------------------------------------------------------------------
	public boolean inserirCliente(Cliente cliente) throws SQLException {

		String sql = "insert into cliente values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();

			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);

			stm1.setInt(1, 0);
			stm1.setString(2, cliente.getApolice());
			stm1.setString(3, cliente.getCI());
			stm1.setString(4, cliente.getDataCadastro());
			stm1.setString(5, cliente.getHoraCadastro());
			stm1.setString(6, cliente.getTerminoVirgencia());
			stm1.setString(7, cliente.getStatus());
			stm1.setString(8, cliente.getBonus());
			stm1.setString(9, cliente.getDataHoraModificacao());
			stm1.setString(10, cliente.getInicioVigencia());
			stm1.setString(11, cliente.getDescricao());
			stm1.setString(12, cliente.getSeguradora());

			// Segurado
			stm1.setString(13, cliente.getEmail());
			stm1.setString(14, cliente.getTelefoneCelular());
			stm1.setString(15, cliente.getTelefoneComercial());
			stm1.setString(16, cliente.getTelefone());
			stm1.setString(17, cliente.getCPFCNPJSegurado());
			stm1.setString(18, cliente.getRGSegurado());
			stm1.setString(19, cliente.getOrgaoExpedidor());
			stm1.setString(20, cliente.getCNHSegurado());
			stm1.setString(21, cliente.getDataNascimentoSegurado());
			stm1.setString(22, cliente.getDataExpedicao());
			stm1.setString(23, cliente.getSexoSegurado());
			stm1.setString(24, cliente.getProponente());
			stm1.setString(25, cliente.getTipoPessoaSegurado());

			// Condutor
			stm1.setString(26, cliente.getCPFCNPJCondutor());
			stm1.setString(27, cliente.getNome());
			stm1.setString(28, cliente.getSexoCondutor());
			stm1.setString(29, cliente.getDataNascimentoCondutor());
			stm1.setString(30, cliente.getCNHCondutor());
			stm1.setString(31, cliente.getRGCondutor());
			stm1.setString(32, cliente.getTipoPessoaCondutor());

			// Bem segurado
			stm1.setString(33, cliente.getChassi());
			stm1.setString(34, cliente.getPlaca());
			stm1.setString(35, cliente.getVeiculo());
			stm1.setString(36, cliente.getAnoModelo());
			stm1.setString(37, cliente.getRENAVAN());
			stm1.setString(38, cliente.getAnoFabricacao());

			// Cobertura
			stm1.setString(39, cliente.getDanosCorporais());
			stm1.setString(40, cliente.getFranquia());
			stm1.setString(41, cliente.getCarroReserva());
			stm1.setString(42, cliente.getQuantidadeDias());
			stm1.setString(43, cliente.getFarois());
			stm1.setString(44, cliente.getLanternas());
			stm1.setString(45, cliente.getVidros());
			stm1.setString(46, cliente.getTipoFranquia());
			stm1.setString(47, cliente.getDanosMateriais());
			stm1.setString(48, cliente.getRetrovisores());
			stm1.setString(49, cliente.getIdadeCobertura());
			stm1.setString(50, cliente.getSexoCobertura());

			stm1.execute();
			stm1.close();
			conIntranet.close();

			return true;

		} catch (Exception e) {
			return false;
		}

	}

	// -------------------------------------------------------------------------------
	public boolean removerCliente(Cliente cliente) throws SQLException {
		String sql = "DELETE FROM cliente WHERE id=?";

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();

			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);

			stm1.setInt(1, cliente.getId());
			stm1.execute();
			stm1.close();
			conIntranet.close();
			return true;

		} catch (Exception e) {
			return false;
		}

	}

	// ---------------------------------------------------------------------------------
	public boolean atualizarCliente(Cliente cliente) throws SQLException {
		String sql = "UPDATE cliente SET "
				+ "apolice=?, C_I=?, termino_vigencia=?, status=?, bonus=?, data_hora_modificacao=?, "
				+ "inicio_vigencia=?, descricao=?, seguradora=?, email=?, telefone_celular=?, telefone_comercial=?, telefone=?, cpf_cnpj_segurado=?, "
				+ "RG_segurado=?, orgao_expedidor=?,CNH_segurado=?,data_nascimento_segurado=?, data_expedicao=?, sexo_segurado=?, proponente=?, tipo_pessoa_segurado=?, cpf_cnpj_condutor=?, nome=?, sexo_condutor=?, data_nascimento_codutor=?, "
				+ "CNH_condutor=?, RG_condutor=?, tipo_pessoa_condutor=?, chassi=?, placa=?, veiculo=?, ano_modelo=?, RENAVAN=?, ano_fabricacao=?, danos_corporais=?, franquia=?, "
				+ "carro_reserva=?, quantidade_de_dias=?, farois=?, lanternas=?, vidros=?, tipo_franquia=?, danos_materiais=?, retrovisores=?, idade_cobertura=?, sexo_cobertura=?  WHERE id=?";

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();

			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);

			stm1.setString(1, cliente.getApolice());
			stm1.setString(2, cliente.getCI());
			stm1.setString(3, cliente.getTerminoVirgencia());
			stm1.setString(4, cliente.getStatus());
			stm1.setString(5, cliente.getBonus());
			stm1.setString(6, cliente.getDataHoraModificacao());
			stm1.setString(7, cliente.getInicioVigencia());
			stm1.setString(8, cliente.getDescricao());
			stm1.setString(9, cliente.getSeguradora());

			// Segurado
			stm1.setString(10, cliente.getEmail());
			stm1.setString(11, cliente.getTelefoneCelular());
			stm1.setString(12, cliente.getTelefoneComercial());
			stm1.setString(13, cliente.getTelefone());
			stm1.setString(14, cliente.getCPFCNPJSegurado());
			stm1.setString(15, cliente.getRGSegurado());
			stm1.setString(16, cliente.getOrgaoExpedidor());
			stm1.setString(17, cliente.getCNHSegurado());
			stm1.setString(18, cliente.getDataNascimentoSegurado());
			stm1.setString(19, cliente.getDataExpedicao());
			stm1.setString(20, cliente.getSexoSegurado());
			stm1.setString(21, cliente.getProponente());
			stm1.setString(22, cliente.getTipoPessoaSegurado());

			// Condutor
			stm1.setString(23, cliente.getCPFCNPJCondutor());
			stm1.setString(24, cliente.getNome());
			stm1.setString(25, cliente.getSexoCondutor());
			stm1.setString(26, cliente.getDataNascimentoCondutor());
			stm1.setString(27, cliente.getCNHCondutor());
			stm1.setString(28, cliente.getRGCondutor());
			stm1.setString(29, cliente.getTipoPessoaCondutor());

			// Bem segurado
			stm1.setString(30, cliente.getChassi());
			stm1.setString(31, cliente.getPlaca());
			stm1.setString(32, cliente.getVeiculo());
			stm1.setString(33, cliente.getAnoModelo());
			stm1.setString(34, cliente.getRENAVAN());
			stm1.setString(35, cliente.getAnoFabricacao());

			// Cobertura
			stm1.setString(36, cliente.getDanosCorporais());
			stm1.setString(37, cliente.getFranquia());
			stm1.setString(38, cliente.getCarroReserva());
			stm1.setString(39, cliente.getQuantidadeDias());
			stm1.setString(40, cliente.getFarois());
			stm1.setString(41, cliente.getLanternas());
			stm1.setString(42, cliente.getVidros());
			stm1.setString(43, cliente.getTipoFranquia());
			stm1.setString(44, cliente.getDanosMateriais());
			stm1.setString(45, cliente.getRetrovisores());
			stm1.setString(46, cliente.getIdadeCobertura());
			stm1.setString(47, cliente.getSexoCobertura());

			stm1.setInt(48, cliente.getId());
			stm1.execute();
			stm1.close();
			conIntranet.close();

			return true;
		} catch (Exception e) {
			e.printStackTrace();
			return false;
		}

	}

	// ---------------------------------------------------------------------------------
	public List<Cliente> listarCliente() throws SQLException {

		ArrayList<Cliente> clienteDB = new ArrayList<>();
		Cliente cliente;
		String sql = "SELECT * FROM cliente";

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();
			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);
			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {

				cliente = new Cliente();
				cliente.setId(rs1.getInt(1));
				cliente.setApolice(rs1.getString(2));
				cliente.setCI(rs1.getString(3));
				cliente.setDataCadastro(rs1.getString(4));
				cliente.setHoraCadastro(rs1.getString(5));
				cliente.setTerminoVirgencia(rs1.getString(6));
				cliente.setStatus(rs1.getString(7));
				cliente.setBonus(rs1.getString(8));
				cliente.setDataHoraModificacao(rs1.getString(9));
				cliente.setInicioVigencia(rs1.getString(10));
				cliente.setDescricao(rs1.getString(11));
				cliente.setSeguradora(rs1.getString(12));

				// Segurado
				cliente.setEmail(rs1.getString(13));
				cliente.setTelefoneCelular(rs1.getString(14));
				cliente.setTelefoneComercial(rs1.getString(15));
				cliente.setTelefone(rs1.getString(16));
				cliente.setCPFCNPJSegurado(rs1.getString(17));
				cliente.setRGSegurado(rs1.getString(18));
				cliente.setOrgaoExpedidor(rs1.getString(19));
				cliente.setCNHSegurado(rs1.getString(20));
				cliente.setDataNascimentoSegurado(rs1.getString(21));
				cliente.setDataExpedicao(rs1.getString(22));
				cliente.setSexoSegurado(rs1.getString(23));
				cliente.setProponente(rs1.getString(24));
				cliente.setTipoPessoaSegurado(rs1.getString(25));

				// Condutor
				cliente.setCPFCNPJCondutor(rs1.getString(26));
				cliente.setNome(rs1.getString(27));
				cliente.setSexoCondutor(rs1.getString(28));
				cliente.setDataNascimentoCondutor(rs1.getString(29));
				cliente.setCNHCondutor(rs1.getString(30));
				cliente.setRGCondutor(rs1.getString(31));
				cliente.setTipoPessoaCondutor(rs1.getString(32));

				// Bem Segurado
				cliente.setChassi(rs1.getString(33));
				cliente.setPlaca(rs1.getString(34));
				cliente.setVeiculo(rs1.getString(35));
				cliente.setAnoModelo(rs1.getString(36));
				cliente.setRENAVAN(rs1.getString(37));
				cliente.setAnoFabricacao(rs1.getString(38));

				// Cobertura
				cliente.setDanosCorporais(rs1.getString(39));
				cliente.setFranquia(rs1.getString(40));
				cliente.setCarroReserva(rs1.getString(41));
				cliente.setQuantidadeDias(rs1.getString(42));
				cliente.setFarois(rs1.getString(43));
				cliente.setLanternas(rs1.getString(44));
				cliente.setVidros(rs1.getString(45));
				cliente.setTipoFranquia(rs1.getString(46));
				cliente.setDanosMateriais(rs1.getString(47));
				cliente.setRetrovisores(rs1.getString(48));
				cliente.setIdadeCobertura(rs1.getString(49));
				cliente.setSexoCobertura(rs1.getString(50));

				clienteDB.add(cliente);

			}
			rs1.close();
			stm1.close();
			conIntranet.close();
		} catch (Exception e) {

			new SQLException();
		}

		return clienteDB;

	}

	// ---------------------------------------------------------------------------------
	public List<Cliente> buscarClienteApolice(String chave) throws SQLException {

		ArrayList<Cliente> clienteDB = new ArrayList<>();
		Cliente cliente;
		String sql = "SELECT * FROM cliente WHERE apolice LIKE '" + chave
				+ "%'";
		try {
			Connection conIntranet = new ConnectionFactory().getConnection();
			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);
			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {
				cliente = new Cliente();
				cliente.setId(rs1.getInt(1));
				cliente.setApolice(rs1.getString(2));
				cliente.setCI(rs1.getString(3));
				cliente.setDataCadastro(rs1.getString(4));
				cliente.setHoraCadastro(rs1.getString(5));
				cliente.setTerminoVirgencia(rs1.getString(6));
				cliente.setStatus(rs1.getString(7));
				cliente.setBonus(rs1.getString(8));
				cliente.setDataHoraModificacao(rs1.getString(9));
				cliente.setInicioVigencia(rs1.getString(10));
				cliente.setDescricao(rs1.getString(11));
				cliente.setSeguradora(rs1.getString(12));

				// Segurado
				cliente.setEmail(rs1.getString(13));
				cliente.setTelefoneCelular(rs1.getString(14));
				cliente.setTelefoneComercial(rs1.getString(15));
				cliente.setTelefone(rs1.getString(16));
				cliente.setCPFCNPJSegurado(rs1.getString(17));
				cliente.setRGSegurado(rs1.getString(18));
				cliente.setOrgaoExpedidor(rs1.getString(19));
				cliente.setCNHSegurado(rs1.getString(20));
				cliente.setDataNascimentoSegurado(rs1.getString(21));
				cliente.setDataExpedicao(rs1.getString(22));
				cliente.setSexoSegurado(rs1.getString(23));
				cliente.setProponente(rs1.getString(24));
				cliente.setTipoPessoaSegurado(rs1.getString(25));

				// Condutor
				cliente.setCPFCNPJCondutor(rs1.getString(26));
				cliente.setNome(rs1.getString(27));
				cliente.setSexoCondutor(rs1.getString(28));
				cliente.setDataNascimentoCondutor(rs1.getString(29));
				cliente.setCNHCondutor(rs1.getString(30));
				cliente.setRGCondutor(rs1.getString(31));
				cliente.setTipoPessoaCondutor(rs1.getString(32));

				// Bem Segurado
				cliente.setChassi(rs1.getString(33));
				cliente.setPlaca(rs1.getString(34));
				cliente.setVeiculo(rs1.getString(35));
				cliente.setAnoModelo(rs1.getString(36));
				cliente.setRENAVAN(rs1.getString(37));
				cliente.setAnoFabricacao(rs1.getString(38));

				// Cobertura
				cliente.setDanosCorporais(rs1.getString(39));
				cliente.setFranquia(rs1.getString(40));
				cliente.setCarroReserva(rs1.getString(41));
				cliente.setQuantidadeDias(rs1.getString(42));
				cliente.setFarois(rs1.getString(43));
				cliente.setLanternas(rs1.getString(44));
				cliente.setVidros(rs1.getString(45));
				cliente.setTipoFranquia(rs1.getString(46));
				cliente.setDanosMateriais(rs1.getString(47));
				cliente.setRetrovisores(rs1.getString(48));
				cliente.setIdadeCobertura(rs1.getString(49));
				cliente.setSexoCobertura(rs1.getString(50));

				clienteDB.add(cliente);

			}
			rs1.close();
			stm1.close();
			conIntranet.close();
		} catch (Exception e) {
			new SQLException();
		}

		return clienteDB;
	}

	// ----------------------------------------------------------------------------------
	public List<Cliente> buscarClienteCI(String chave) throws SQLException {

		ArrayList<Cliente> clienteDB = new ArrayList<>();
		Cliente cliente;
		String sql = "SELECT * FROM cliente WHERE C_I = '" + chave + "'";

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();
			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);
			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {

				cliente = new Cliente();
				cliente.setId(rs1.getInt(1));
				cliente.setApolice(rs1.getString(2));
				cliente.setCI(rs1.getString(3));
				cliente.setDataCadastro(rs1.getString(4));
				cliente.setHoraCadastro(rs1.getString(5));
				cliente.setTerminoVirgencia(rs1.getString(6));
				cliente.setStatus(rs1.getString(7));
				cliente.setBonus(rs1.getString(8));
				cliente.setDataHoraModificacao(rs1.getString(9));
				cliente.setInicioVigencia(rs1.getString(10));
				cliente.setDescricao(rs1.getString(11));
				cliente.setSeguradora(rs1.getString(12));

				// Segurado
				cliente.setEmail(rs1.getString(13));
				cliente.setTelefoneCelular(rs1.getString(14));
				cliente.setTelefoneComercial(rs1.getString(15));
				cliente.setTelefone(rs1.getString(16));
				cliente.setCPFCNPJSegurado(rs1.getString(17));
				cliente.setRGSegurado(rs1.getString(18));
				cliente.setOrgaoExpedidor(rs1.getString(19));
				cliente.setCNHSegurado(rs1.getString(20));
				cliente.setDataNascimentoSegurado(rs1.getString(21));
				cliente.setDataExpedicao(rs1.getString(22));
				cliente.setSexoSegurado(rs1.getString(23));
				cliente.setProponente(rs1.getString(24));
				cliente.setTipoPessoaSegurado(rs1.getString(25));

				// Condutor
				cliente.setCPFCNPJCondutor(rs1.getString(26));
				cliente.setNome(rs1.getString(27));
				cliente.setSexoCondutor(rs1.getString(28));
				cliente.setDataNascimentoCondutor(rs1.getString(29));
				cliente.setCNHCondutor(rs1.getString(30));
				cliente.setRGCondutor(rs1.getString(31));
				cliente.setTipoPessoaCondutor(rs1.getString(32));

				// Bem Segurado
				cliente.setChassi(rs1.getString(33));
				cliente.setPlaca(rs1.getString(34));
				cliente.setVeiculo(rs1.getString(35));
				cliente.setAnoModelo(rs1.getString(36));
				cliente.setRENAVAN(rs1.getString(37));
				cliente.setAnoFabricacao(rs1.getString(38));

				// Cobertura
				cliente.setDanosCorporais(rs1.getString(39));
				cliente.setFranquia(rs1.getString(40));
				cliente.setCarroReserva(rs1.getString(41));
				cliente.setQuantidadeDias(rs1.getString(42));
				cliente.setFarois(rs1.getString(43));
				cliente.setLanternas(rs1.getString(44));
				cliente.setVidros(rs1.getString(45));
				cliente.setTipoFranquia(rs1.getString(46));
				cliente.setDanosMateriais(rs1.getString(47));
				cliente.setRetrovisores(rs1.getString(48));
				cliente.setIdadeCobertura(rs1.getString(49));
				cliente.setSexoCobertura(rs1.getString(50));

				clienteDB.add(cliente);

			}
			rs1.close();
			stm1.close();
			conIntranet.close();
		} catch (Exception e) {
			new SQLException();
		}

		return clienteDB;
	}

	// ---------------------------------------------------------------------------------
	public List<Cliente> buscarClienteInicioVigencia(String chave)
			throws SQLException {

		ArrayList<Cliente> clienteDB = new ArrayList<>();
		Cliente cliente;
		String sql = "SELECT * FROM cliente WHERE inicio_vigencia = '" + chave
				+ "'";

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();
			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);
			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {

				cliente = new Cliente();
				cliente.setId(rs1.getInt(1));
				cliente.setApolice(rs1.getString(2));
				cliente.setCI(rs1.getString(3));
				cliente.setDataCadastro(rs1.getString(4));
				cliente.setHoraCadastro(rs1.getString(5));
				cliente.setTerminoVirgencia(rs1.getString(6));
				cliente.setStatus(rs1.getString(7));
				cliente.setBonus(rs1.getString(8));
				cliente.setDataHoraModificacao(rs1.getString(9));
				cliente.setInicioVigencia(rs1.getString(10));
				cliente.setDescricao(rs1.getString(11));
				cliente.setSeguradora(rs1.getString(12));

				// Segurado
				cliente.setEmail(rs1.getString(13));
				cliente.setTelefoneCelular(rs1.getString(14));
				cliente.setTelefoneComercial(rs1.getString(15));
				cliente.setTelefone(rs1.getString(16));
				cliente.setCPFCNPJSegurado(rs1.getString(17));
				cliente.setRGSegurado(rs1.getString(18));
				cliente.setOrgaoExpedidor(rs1.getString(19));
				cliente.setCNHSegurado(rs1.getString(20));
				cliente.setDataNascimentoSegurado(rs1.getString(21));
				cliente.setDataExpedicao(rs1.getString(22));
				cliente.setSexoSegurado(rs1.getString(23));
				cliente.setProponente(rs1.getString(24));
				cliente.setTipoPessoaSegurado(rs1.getString(25));

				// Condutor
				cliente.setCPFCNPJCondutor(rs1.getString(26));
				cliente.setNome(rs1.getString(27));
				cliente.setSexoCondutor(rs1.getString(28));
				cliente.setDataNascimentoCondutor(rs1.getString(29));
				cliente.setCNHCondutor(rs1.getString(30));
				cliente.setRGCondutor(rs1.getString(31));
				cliente.setTipoPessoaCondutor(rs1.getString(32));

				// Bem Segurado
				cliente.setChassi(rs1.getString(33));
				cliente.setPlaca(rs1.getString(34));
				cliente.setVeiculo(rs1.getString(35));
				cliente.setAnoModelo(rs1.getString(36));
				cliente.setRENAVAN(rs1.getString(37));
				cliente.setAnoFabricacao(rs1.getString(38));

				// Cobertura
				cliente.setDanosCorporais(rs1.getString(39));
				cliente.setFranquia(rs1.getString(40));
				cliente.setCarroReserva(rs1.getString(41));
				cliente.setQuantidadeDias(rs1.getString(42));
				cliente.setFarois(rs1.getString(43));
				cliente.setLanternas(rs1.getString(44));
				cliente.setVidros(rs1.getString(45));
				cliente.setTipoFranquia(rs1.getString(46));
				cliente.setDanosMateriais(rs1.getString(47));
				cliente.setRetrovisores(rs1.getString(48));
				cliente.setIdadeCobertura(rs1.getString(49));
				cliente.setSexoCobertura(rs1.getString(50));

				clienteDB.add(cliente);

			}
			rs1.close();
			stm1.close();
			conIntranet.close();
		} catch (Exception e) {

			new SQLException();
		}

		return clienteDB;
	}

	// -----------------------------------------------------------------------------------
	public List<Cliente> buscarClienteTerminoVigencia(String chave)
			throws SQLException {

		ArrayList<Cliente> clienteDB = new ArrayList<>();
		Cliente cliente;
		String sql = "SELECT * FROM cliente WHERE termino_vigencia = '" + chave
				+ "'";

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();
			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);
			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {

				cliente = new Cliente();
				cliente.setId(rs1.getInt(1));
				cliente.setApolice(rs1.getString(2));
				cliente.setCI(rs1.getString(3));
				cliente.setDataCadastro(rs1.getString(4));
				cliente.setHoraCadastro(rs1.getString(5));
				cliente.setTerminoVirgencia(rs1.getString(6));
				cliente.setStatus(rs1.getString(7));
				cliente.setBonus(rs1.getString(8));
				cliente.setDataHoraModificacao(rs1.getString(9));
				cliente.setInicioVigencia(rs1.getString(10));
				cliente.setDescricao(rs1.getString(11));
				cliente.setSeguradora(rs1.getString(12));

				// Segurado
				cliente.setEmail(rs1.getString(13));
				cliente.setTelefoneCelular(rs1.getString(14));
				cliente.setTelefoneComercial(rs1.getString(15));
				cliente.setTelefone(rs1.getString(16));
				cliente.setCPFCNPJSegurado(rs1.getString(17));
				cliente.setRGSegurado(rs1.getString(18));
				cliente.setOrgaoExpedidor(rs1.getString(19));
				cliente.setCNHSegurado(rs1.getString(20));
				cliente.setDataNascimentoSegurado(rs1.getString(21));
				cliente.setDataExpedicao(rs1.getString(22));
				cliente.setSexoSegurado(rs1.getString(23));
				cliente.setProponente(rs1.getString(24));
				cliente.setTipoPessoaSegurado(rs1.getString(25));

				// Condutor
				cliente.setCPFCNPJCondutor(rs1.getString(26));
				cliente.setNome(rs1.getString(27));
				cliente.setSexoCondutor(rs1.getString(28));
				cliente.setDataNascimentoCondutor(rs1.getString(29));
				cliente.setCNHCondutor(rs1.getString(30));
				cliente.setRGCondutor(rs1.getString(31));
				cliente.setTipoPessoaCondutor(rs1.getString(32));

				// Bem Segurado
				cliente.setChassi(rs1.getString(33));
				cliente.setPlaca(rs1.getString(34));
				cliente.setVeiculo(rs1.getString(35));
				cliente.setAnoModelo(rs1.getString(36));
				cliente.setRENAVAN(rs1.getString(37));
				cliente.setAnoFabricacao(rs1.getString(38));

				// Cobertura
				cliente.setDanosCorporais(rs1.getString(39));
				cliente.setFranquia(rs1.getString(40));
				cliente.setCarroReserva(rs1.getString(41));
				cliente.setQuantidadeDias(rs1.getString(42));
				cliente.setFarois(rs1.getString(43));
				cliente.setLanternas(rs1.getString(44));
				cliente.setVidros(rs1.getString(45));
				cliente.setTipoFranquia(rs1.getString(46));
				cliente.setDanosMateriais(rs1.getString(47));
				cliente.setRetrovisores(rs1.getString(48));
				cliente.setIdadeCobertura(rs1.getString(49));
				cliente.setSexoCobertura(rs1.getString(50));

				clienteDB.add(cliente);

			}
			rs1.close();
			stm1.close();
			conIntranet.close();
		} catch (Exception e) {
			new SQLException();
		}

		return clienteDB;
	}

	// ----------------------------------------------------------------------------------
	public int ultimoIdCliente() throws SQLException {

		String sql = "SELECT MAX(id) FROM cliente";
		int idBD = 0;

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();
			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);
			ResultSet rs1 = stm1.executeQuery();

			rs1.next();
			idBD = rs1.getInt(1);
			rs1.close();
			stm1.close();
			conIntranet.close();

		} catch (Exception e) {

			new SQLException();
		}

		return idBD;
	}

	// ---------------------------------------------------------------------------------
	public boolean verificarApolice(String chave) throws SQLException {
		String sql = "SELECT apolice FROM cliente";

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();
			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);
			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {

				String apoliceBD = rs1.getString(1);

				if (apoliceBD.equals(chave)) {
					return true;
				}
			}

			rs1.close();
			stm1.close();
			conIntranet.close();

		} catch (Exception e) {
			new SQLException();
		}

		return false;
	}

	// ---------------------------------------------------------------------------------
	public boolean verificarCI(String chave) throws SQLException {
		String sql = "SELECT C_I FROM cliente";

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();

			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);

			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {

				String ciBD = rs1.getString(1);

				if (ciBD.equals(chave)) {
					return true;
				}

			}
			rs1.close();
			stm1.close();
			conIntranet.close();

		} catch (Exception e) {
			new SQLException();
		}

		return false;
	}

	// ---------------------------------------------------------------------------------
	public List<Cliente> faltaDadosCIApolicePlacaRENAVAN() throws SQLException {

		ArrayList<Cliente> clienteDB = new ArrayList<>();
		Cliente cliente;
		//String sql = "SELECT * FROM cliente WHERE apolice = '' OR C_I = '' ";
		String sql = "SELECT * FROM cliente  where apolice = '' OR C_I = '' OR  placa = '' OR RENAVAN = ''";

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();
			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);
			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {

				cliente = new Cliente();
				cliente.setId(rs1.getInt(1));
				cliente.setApolice(rs1.getString(2));
				cliente.setCI(rs1.getString(3));
				cliente.setDataCadastro(rs1.getString(4));
				cliente.setHoraCadastro(rs1.getString(5));
				cliente.setTerminoVirgencia(rs1.getString(6));
				cliente.setStatus(rs1.getString(7));
				cliente.setBonus(rs1.getString(8));
				cliente.setDataHoraModificacao(rs1.getString(9));
				cliente.setInicioVigencia(rs1.getString(10));
				cliente.setDescricao(rs1.getString(11));
				cliente.setSeguradora(rs1.getString(12));

				// Segurado
				cliente.setEmail(rs1.getString(13));
				cliente.setTelefoneCelular(rs1.getString(14));
				cliente.setTelefoneComercial(rs1.getString(15));
				cliente.setTelefone(rs1.getString(16));
				cliente.setCPFCNPJSegurado(rs1.getString(17));
				cliente.setRGSegurado(rs1.getString(18));
				cliente.setOrgaoExpedidor(rs1.getString(19));
				cliente.setCNHSegurado(rs1.getString(20));
				cliente.setDataNascimentoSegurado(rs1.getString(21));
				cliente.setDataExpedicao(rs1.getString(22));
				cliente.setSexoSegurado(rs1.getString(23));
				cliente.setProponente(rs1.getString(24));
				cliente.setTipoPessoaSegurado(rs1.getString(25));

				// Condutor
				cliente.setCPFCNPJCondutor(rs1.getString(26));
				cliente.setNome(rs1.getString(27));
				cliente.setSexoCondutor(rs1.getString(28));
				cliente.setDataNascimentoCondutor(rs1.getString(29));
				cliente.setCNHCondutor(rs1.getString(30));
				cliente.setRGCondutor(rs1.getString(31));
				cliente.setTipoPessoaCondutor(rs1.getString(32));

				// Bem Segurado
				cliente.setChassi(rs1.getString(33));
				cliente.setPlaca(rs1.getString(34));
				cliente.setVeiculo(rs1.getString(35));
				cliente.setAnoModelo(rs1.getString(36));
				cliente.setRENAVAN(rs1.getString(37));
				cliente.setAnoFabricacao(rs1.getString(38));

				// Cobertura
				cliente.setDanosCorporais(rs1.getString(39));
				cliente.setFranquia(rs1.getString(40));
				cliente.setCarroReserva(rs1.getString(41));
				cliente.setQuantidadeDias(rs1.getString(42));
				cliente.setFarois(rs1.getString(43));
				cliente.setLanternas(rs1.getString(44));
				cliente.setVidros(rs1.getString(45));
				cliente.setTipoFranquia(rs1.getString(46));
				cliente.setDanosMateriais(rs1.getString(47));
				cliente.setRetrovisores(rs1.getString(48));
				cliente.setIdadeCobertura(rs1.getString(49));
				cliente.setSexoCobertura(rs1.getString(50));

				clienteDB.add(cliente);

			}
			rs1.close();
			stm1.close();
			conIntranet.close();

		} catch (Exception e) {
			new SQLException();

		}

		return clienteDB;
	}

	// ---------------------------------------------------------------------------------
	public Cliente retornaCliente(int id) throws SQLException {
		Cliente cliente;
		String sql = "SELECT * FROM cliente WHERE id = '" + id + "'";

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();

			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);

			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {

				cliente = new Cliente();
				cliente.setId(rs1.getInt(1));
				cliente.setApolice(rs1.getString(2));
				cliente.setCI(rs1.getString(3));
				cliente.setDataCadastro(rs1.getString(4));
				cliente.setHoraCadastro(rs1.getString(5));
				cliente.setTerminoVirgencia(rs1.getString(6));
				cliente.setStatus(rs1.getString(7));
				cliente.setBonus(rs1.getString(8));
				cliente.setDataHoraModificacao(rs1.getString(9));
				cliente.setInicioVigencia(rs1.getString(10));
				cliente.setDescricao(rs1.getString(11));
				cliente.setSeguradora(rs1.getString(12));

				// Segurado
				cliente.setEmail(rs1.getString(13));
				cliente.setTelefoneCelular(rs1.getString(14));
				cliente.setTelefoneComercial(rs1.getString(15));
				cliente.setTelefone(rs1.getString(16));
				cliente.setCPFCNPJSegurado(rs1.getString(17));
				cliente.setRGSegurado(rs1.getString(18));
				cliente.setOrgaoExpedidor(rs1.getString(19));
				cliente.setCNHSegurado(rs1.getString(20));
				cliente.setDataNascimentoSegurado(rs1.getString(21));
				cliente.setDataExpedicao(rs1.getString(22));
				cliente.setSexoSegurado(rs1.getString(23));
				cliente.setProponente(rs1.getString(24));
				cliente.setTipoPessoaSegurado(rs1.getString(25));

				// Condutor
				cliente.setCPFCNPJCondutor(rs1.getString(26));
				cliente.setNome(rs1.getString(27));
				cliente.setSexoCondutor(rs1.getString(28));
				cliente.setDataNascimentoCondutor(rs1.getString(29));
				cliente.setCNHCondutor(rs1.getString(30));
				cliente.setRGCondutor(rs1.getString(31));
				cliente.setTipoPessoaCondutor(rs1.getString(32));

				// Bem Segurado
				cliente.setChassi(rs1.getString(33));
				cliente.setPlaca(rs1.getString(34));
				cliente.setVeiculo(rs1.getString(35));
				cliente.setAnoModelo(rs1.getString(36));
				cliente.setRENAVAN(rs1.getString(37));
				cliente.setAnoFabricacao(rs1.getString(38));

				// Cobertura
				cliente.setDanosCorporais(rs1.getString(39));
				cliente.setFranquia(rs1.getString(40));
				cliente.setCarroReserva(rs1.getString(41));
				cliente.setQuantidadeDias(rs1.getString(42));
				cliente.setFarois(rs1.getString(43));
				cliente.setLanternas(rs1.getString(44));
				cliente.setVidros(rs1.getString(45));
				cliente.setTipoFranquia(rs1.getString(46));
				cliente.setDanosMateriais(rs1.getString(47));
				cliente.setRetrovisores(rs1.getString(48));
				cliente.setIdadeCobertura(rs1.getString(49));
				cliente.setSexoCobertura(rs1.getString(50));

				return cliente;

			}
			rs1.close();
			stm1.close();
			conIntranet.close();

		} catch (Exception e) {

			new SQLException();
		}

		return null;
	}

	// ---------------------------------------------------------------------------------
	public List<Cliente> DatasTerminoVigencia() throws SQLException {

		SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy"); // formato
																	// para a
																	// Data
		sdf.setLenient(false); // validar a data
		Calendar data1 = Calendar.getInstance(); // instancia calendar nativo
													// JAVA
		// data.setTime(sdf.parse(dataInicial)); // formatar a data para o
		// pardao dd/mm/yyyy
		data1.add(Calendar.DAY_OF_MONTH, -1); // subtrair 6 dias da data atual
		String dataVigencia1 = sdf.format(data1.getTime()); // converter a data
															// para String
		System.out.println("teste" + dataVigencia1);

		Calendar data2 = Calendar.getInstance(); // instancia calendar nativo
													// JAVA
		// data.setTime(sdf.parse(dataInicial)); // formatar a data para o
		// pardao dd/mm/yyyy
		data2.add(Calendar.DAY_OF_MONTH, -2); // subtrair 6 dias da data atual
		String dataVigencia2 = sdf.format(data2.getTime()); // converter a data
															// para String
		System.out.println(dataVigencia2);

		Calendar data3 = Calendar.getInstance(); // instancia calendar nativo
													// JAVA
		// data.setTime(sdf.parse(dataInicial)); // formatar a data para o
		// pardao dd/mm/yyyy
		data3.add(Calendar.DAY_OF_MONTH, -3); // subtrair 6 dias da data atual
		String dataVigencia3 = sdf.format(data3.getTime()); // converter a data
															// para String
		System.out.println(dataVigencia3);

		Calendar data4 = Calendar.getInstance(); // instancia calendar nativo
													// JAVA
		// data.setTime(sdf.parse(dataInicial)); // formatar a data para o
		// pardao dd/mm/yyyy
		data4.add(Calendar.DAY_OF_MONTH, -4); // subtrair 6 dias da data atual
		String dataVigencia4 = sdf.format(data4.getTime()); // converter a data
															// para String
		System.out.println(dataVigencia4);

		Calendar data5 = Calendar.getInstance(); // instancia calendar nativo
													// JAVA
		// data.setTime(sdf.parse(dataInicial)); // formatar a data para o
		// pardao dd/mm/yyyy
		data5.add(Calendar.DAY_OF_MONTH, -5); // subtrair 6 dias da data atual
		String dataVigencia5 = sdf.format(data5.getTime()); // converter a data
															// para String
		System.out.println(dataVigencia5);

		Calendar data6 = Calendar.getInstance(); // instancia calendar nativo
													// JAVA
		// data.setTime(sdf.parse(dataInicial)); // formatar a data para o
		// pardao dd/mm/yyyy
		data6.add(Calendar.DAY_OF_MONTH, -6); // subtrair 6 dias da data atual
		String dataVigencia6 = sdf.format(data6.getTime()); // converter a data
															// para String

		Calendar data7 = Calendar.getInstance(); // instancia calendar nativo
		// JAVA
		// data.setTime(sdf.parse(dataInicial)); // formatar a data para o
		// pardao dd/mm/yyyy
		data6.add(Calendar.DAY_OF_MONTH, -0); // subtrair 6 dias da data atual
		String dataVigencia7 = sdf.format(data7.getTime()); // converter a data
		// para String

		System.out.println(dataVigencia7);

		ArrayList<Cliente> clienteDB = new ArrayList<>();
		Cliente cliente;
		String sql = "SELECT * FROM cliente WHERE termino_vigencia = " + "'"
				+ dataVigencia1 + "'" + " OR termino_vigencia = '"
				+ dataVigencia2 + "'" + " OR termino_vigencia = '"
				+ dataVigencia3 + "'" + " OR termino_vigencia = '"
				+ dataVigencia4 + "'" + " OR termino_vigencia = '"
				+ dataVigencia5 + "'" + " OR termino_vigencia = '"
				+ dataVigencia6 + "'" + " OR termino_vigencia = '"
				+ dataVigencia7 + "'";

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();

			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);

			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {

				cliente = new Cliente();
				cliente.setId(rs1.getInt(1));
				cliente.setApolice(rs1.getString(2));
				cliente.setCI(rs1.getString(3));
				cliente.setDataCadastro(rs1.getString(4));
				cliente.setHoraCadastro(rs1.getString(5));
				cliente.setTerminoVirgencia(rs1.getString(6));
				cliente.setStatus(rs1.getString(7));
				cliente.setBonus(rs1.getString(8));
				cliente.setDataHoraModificacao(rs1.getString(9));
				cliente.setInicioVigencia(rs1.getString(10));
				cliente.setDescricao(rs1.getString(11));
				cliente.setSeguradora(rs1.getString(12));

				// Segurado
				cliente.setEmail(rs1.getString(13));
				cliente.setTelefoneCelular(rs1.getString(14));
				cliente.setTelefoneComercial(rs1.getString(15));
				cliente.setTelefone(rs1.getString(16));
				cliente.setCPFCNPJSegurado(rs1.getString(17));
				cliente.setRGSegurado(rs1.getString(18));
				cliente.setOrgaoExpedidor(rs1.getString(19));
				cliente.setCNHSegurado(rs1.getString(20));
				cliente.setDataNascimentoSegurado(rs1.getString(21));
				cliente.setDataExpedicao(rs1.getString(22));
				cliente.setSexoSegurado(rs1.getString(23));
				cliente.setProponente(rs1.getString(24));
				cliente.setTipoPessoaSegurado(rs1.getString(25));

				// Condutor
				cliente.setCPFCNPJCondutor(rs1.getString(26));
				cliente.setNome(rs1.getString(27));
				cliente.setSexoCondutor(rs1.getString(28));
				cliente.setDataNascimentoCondutor(rs1.getString(29));
				cliente.setCNHCondutor(rs1.getString(30));
				cliente.setRGCondutor(rs1.getString(31));
				cliente.setTipoPessoaCondutor(rs1.getString(32));

				// Bem Segurado
				cliente.setChassi(rs1.getString(33));
				cliente.setPlaca(rs1.getString(34));
				cliente.setVeiculo(rs1.getString(35));
				cliente.setAnoModelo(rs1.getString(36));
				cliente.setRENAVAN(rs1.getString(37));
				cliente.setAnoFabricacao(rs1.getString(38));

				// Cobertura
				cliente.setDanosCorporais(rs1.getString(39));
				cliente.setFranquia(rs1.getString(40));
				cliente.setCarroReserva(rs1.getString(41));
				cliente.setQuantidadeDias(rs1.getString(42));
				cliente.setFarois(rs1.getString(43));
				cliente.setLanternas(rs1.getString(44));
				cliente.setVidros(rs1.getString(45));
				cliente.setTipoFranquia(rs1.getString(46));
				cliente.setDanosMateriais(rs1.getString(47));
				cliente.setRetrovisores(rs1.getString(48));
				cliente.setIdadeCobertura(rs1.getString(49));
				cliente.setSexoCobertura(rs1.getString(50));

				clienteDB.add(cliente);

			}
			rs1.close();
			stm1.close();
			conIntranet.close();

		} catch (Exception e) {

			new SQLException();

		}

		return clienteDB;
	}

	// ---------------------------------------------------------------------------------
	public List<Cliente> buscarBemSeguradoChassi(String chave)
			throws SQLException {

		ArrayList<Cliente> clienteDB = new ArrayList<>();
		Cliente cliente;
		String sql = "SELECT * FROM cliente WHERE chassi = '" + chave + "'";

		try {

			Connection conIntranet = new ConnectionFactory().getConnection();

			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);

			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {
				cliente = new Cliente();
				cliente.setId(rs1.getInt(1));
				cliente.setApolice(rs1.getString(2));
				cliente.setCI(rs1.getString(3));
				cliente.setDataCadastro(rs1.getString(4));
				cliente.setHoraCadastro(rs1.getString(5));
				cliente.setTerminoVirgencia(rs1.getString(6));
				cliente.setStatus(rs1.getString(7));
				cliente.setBonus(rs1.getString(8));
				cliente.setDataHoraModificacao(rs1.getString(9));
				cliente.setInicioVigencia(rs1.getString(10));
				cliente.setDescricao(rs1.getString(11));
				cliente.setSeguradora(rs1.getString(12));

				// Segurado
				cliente.setEmail(rs1.getString(13));
				cliente.setTelefoneCelular(rs1.getString(14));
				cliente.setTelefoneComercial(rs1.getString(15));
				cliente.setTelefone(rs1.getString(16));
				cliente.setCPFCNPJSegurado(rs1.getString(17));
				cliente.setRGSegurado(rs1.getString(18));
				cliente.setOrgaoExpedidor(rs1.getString(19));
				cliente.setCNHSegurado(rs1.getString(20));
				cliente.setDataNascimentoSegurado(rs1.getString(21));
				cliente.setDataExpedicao(rs1.getString(22));
				cliente.setSexoSegurado(rs1.getString(23));
				cliente.setProponente(rs1.getString(24));
				cliente.setTipoPessoaSegurado(rs1.getString(25));

				// Condutor
				cliente.setCPFCNPJCondutor(rs1.getString(26));
				cliente.setNome(rs1.getString(27));
				cliente.setSexoCondutor(rs1.getString(28));
				cliente.setDataNascimentoCondutor(rs1.getString(29));
				cliente.setCNHCondutor(rs1.getString(30));
				cliente.setRGCondutor(rs1.getString(31));
				cliente.setTipoPessoaCondutor(rs1.getString(32));

				// Bem Segurado
				cliente.setChassi(rs1.getString(33));
				cliente.setPlaca(rs1.getString(34));
				cliente.setVeiculo(rs1.getString(35));
				cliente.setAnoModelo(rs1.getString(36));
				cliente.setRENAVAN(rs1.getString(37));
				cliente.setAnoFabricacao(rs1.getString(38));

				// Cobertura
				cliente.setDanosCorporais(rs1.getString(39));
				cliente.setFranquia(rs1.getString(40));
				cliente.setCarroReserva(rs1.getString(41));
				cliente.setQuantidadeDias(rs1.getString(42));
				cliente.setFarois(rs1.getString(43));
				cliente.setLanternas(rs1.getString(44));
				cliente.setVidros(rs1.getString(45));
				cliente.setTipoFranquia(rs1.getString(46));
				cliente.setDanosMateriais(rs1.getString(47));
				cliente.setRetrovisores(rs1.getString(48));
				cliente.setIdadeCobertura(rs1.getString(49));
				cliente.setSexoCobertura(rs1.getString(50));

				clienteDB.add(cliente);

			}
			rs1.close();
			stm1.close();
			conIntranet.close();

		} catch (Exception e) {
			new SQLException();

		}
		return clienteDB;
	}

	// ---------------------------------------------------------------------------------
	public List<Cliente> buscarBemSeguradoPlaca(String chave)
			throws SQLException {

		ArrayList<Cliente> clienteDB = new ArrayList<>();
		Cliente cliente;
		String sql = "SELECT * FROM cliente WHERE placa LIKE '" + chave + "%'";

		try {

			Connection conIntranet = new ConnectionFactory().getConnection();

			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);

			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {

				cliente = new Cliente();
				cliente.setId(rs1.getInt(1));
				cliente.setApolice(rs1.getString(2));
				cliente.setCI(rs1.getString(3));
				cliente.setDataCadastro(rs1.getString(4));
				cliente.setHoraCadastro(rs1.getString(5));
				cliente.setTerminoVirgencia(rs1.getString(6));
				cliente.setStatus(rs1.getString(7));
				cliente.setBonus(rs1.getString(8));
				cliente.setDataHoraModificacao(rs1.getString(9));
				cliente.setInicioVigencia(rs1.getString(10));
				cliente.setDescricao(rs1.getString(11));
				cliente.setSeguradora(rs1.getString(12));

				// Segurado
				cliente.setEmail(rs1.getString(13));
				cliente.setTelefoneCelular(rs1.getString(14));
				cliente.setTelefoneComercial(rs1.getString(15));
				cliente.setTelefone(rs1.getString(16));
				cliente.setCPFCNPJSegurado(rs1.getString(17));
				cliente.setRGSegurado(rs1.getString(18));
				cliente.setOrgaoExpedidor(rs1.getString(19));
				cliente.setCNHSegurado(rs1.getString(20));
				cliente.setDataNascimentoSegurado(rs1.getString(21));
				cliente.setDataExpedicao(rs1.getString(22));
				cliente.setSexoSegurado(rs1.getString(23));
				cliente.setProponente(rs1.getString(24));
				cliente.setTipoPessoaSegurado(rs1.getString(25));

				// Condutor
				cliente.setCPFCNPJCondutor(rs1.getString(26));
				cliente.setNome(rs1.getString(27));
				cliente.setSexoCondutor(rs1.getString(28));
				cliente.setDataNascimentoCondutor(rs1.getString(29));
				cliente.setCNHCondutor(rs1.getString(30));
				cliente.setRGCondutor(rs1.getString(31));
				cliente.setTipoPessoaCondutor(rs1.getString(32));

				// Bem Segurado
				cliente.setChassi(rs1.getString(33));
				cliente.setPlaca(rs1.getString(34));
				cliente.setVeiculo(rs1.getString(35));
				cliente.setAnoModelo(rs1.getString(36));
				cliente.setRENAVAN(rs1.getString(37));
				cliente.setAnoFabricacao(rs1.getString(38));

				// Cobertura
				cliente.setDanosCorporais(rs1.getString(39));
				cliente.setFranquia(rs1.getString(40));
				cliente.setCarroReserva(rs1.getString(41));
				cliente.setQuantidadeDias(rs1.getString(42));
				cliente.setFarois(rs1.getString(43));
				cliente.setLanternas(rs1.getString(44));
				cliente.setVidros(rs1.getString(45));
				cliente.setTipoFranquia(rs1.getString(46));
				cliente.setDanosMateriais(rs1.getString(47));
				cliente.setRetrovisores(rs1.getString(48));
				cliente.setIdadeCobertura(rs1.getString(49));
				cliente.setSexoCobertura(rs1.getString(50));

				clienteDB.add(cliente);

			}
			rs1.close();
			stm1.close();
			conIntranet.close();

		} catch (Exception e) {
			new SQLException();

		}
		return clienteDB;
	}

	// ---------------------------------------------------------------------------------
	public List<Cliente> buscarBemSeguradoVeiculo(String chave)
			throws SQLException {

		ArrayList<Cliente> clienteDB = new ArrayList<>();
		Cliente cliente;
		String sql = "SELECT * FROM cliente WHERE veiculo LIKE '" + chave
				+ "%'";

		try {

			Connection conIntranet = new ConnectionFactory().getConnection();

			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);

			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {

				cliente = new Cliente();
				cliente.setId(rs1.getInt(1));
				cliente.setApolice(rs1.getString(2));
				cliente.setCI(rs1.getString(3));
				cliente.setDataCadastro(rs1.getString(4));
				cliente.setHoraCadastro(rs1.getString(5));
				cliente.setTerminoVirgencia(rs1.getString(6));
				cliente.setStatus(rs1.getString(7));
				cliente.setBonus(rs1.getString(8));
				cliente.setDataHoraModificacao(rs1.getString(9));
				cliente.setInicioVigencia(rs1.getString(10));
				cliente.setDescricao(rs1.getString(11));
				cliente.setSeguradora(rs1.getString(12));

				// Segurado
				cliente.setEmail(rs1.getString(13));
				cliente.setTelefoneCelular(rs1.getString(14));
				cliente.setTelefoneComercial(rs1.getString(15));
				cliente.setTelefone(rs1.getString(16));
				cliente.setCPFCNPJSegurado(rs1.getString(17));
				cliente.setRGSegurado(rs1.getString(18));
				cliente.setOrgaoExpedidor(rs1.getString(19));
				cliente.setCNHSegurado(rs1.getString(20));
				cliente.setDataNascimentoSegurado(rs1.getString(21));
				cliente.setDataExpedicao(rs1.getString(22));
				cliente.setSexoSegurado(rs1.getString(23));
				cliente.setProponente(rs1.getString(24));
				cliente.setTipoPessoaSegurado(rs1.getString(25));

				// Condutor
				cliente.setCPFCNPJCondutor(rs1.getString(26));
				cliente.setNome(rs1.getString(27));
				cliente.setSexoCondutor(rs1.getString(28));
				cliente.setDataNascimentoCondutor(rs1.getString(29));
				cliente.setCNHCondutor(rs1.getString(30));
				cliente.setRGCondutor(rs1.getString(31));
				cliente.setTipoPessoaCondutor(rs1.getString(32));

				// Bem Segurado
				cliente.setChassi(rs1.getString(33));
				cliente.setPlaca(rs1.getString(34));
				cliente.setVeiculo(rs1.getString(35));
				cliente.setAnoModelo(rs1.getString(36));
				cliente.setRENAVAN(rs1.getString(37));
				cliente.setAnoFabricacao(rs1.getString(38));

				// Cobertura
				cliente.setDanosCorporais(rs1.getString(39));
				cliente.setFranquia(rs1.getString(40));
				cliente.setCarroReserva(rs1.getString(41));
				cliente.setQuantidadeDias(rs1.getString(42));
				cliente.setFarois(rs1.getString(43));
				cliente.setLanternas(rs1.getString(44));
				cliente.setVidros(rs1.getString(45));
				cliente.setTipoFranquia(rs1.getString(46));
				cliente.setDanosMateriais(rs1.getString(47));
				cliente.setRetrovisores(rs1.getString(48));
				cliente.setIdadeCobertura(rs1.getString(49));
				cliente.setSexoCobertura(rs1.getString(50));

				clienteDB.add(cliente);

			}
			rs1.close();
			stm1.close();
			conIntranet.close();

		} catch (Exception e) {
			new SQLException();

		}
		return clienteDB;
	}

	// ---------------------------------------------------------------------------------
	public boolean verificarChassi(String chave) throws SQLException {

		try {

			String sql = "SELECT chassi FROM cliente";

			Connection conIntranet = new ConnectionFactory().getConnection();

			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);

			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {

				String chassiBD = rs1.getString(1);

				if (chassiBD.equals(chave)) {
					return true;
				}

			}
			rs1.close();
			stm1.close();
			conIntranet.close();

		} catch (Exception e) {
			new SQLException();
			return false;
		}
		return false;
	}

	// ---------------------------------------------------------------------------------
	public boolean verificarRENAVAN(String chave) throws SQLException {
		String sql = "SELECT RENAVAN FROM cliente";

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();

			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);

			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {

				String renavanBD = rs1.getString(1);

				if (renavanBD.equals(chave)) {
					return true;
				}

			}
			rs1.close();
			stm1.close();
			conIntranet.close();
		} catch (Exception e) {

			new SQLException();
			return false;
		}
		return false;

	}

	// ---------------------------------------------------------------------------------
	public boolean verificarPlaca(String chave) throws SQLException {
		String sql = "SELECT placa FROM cliente";

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();

			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);

			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {

				String placaBD = rs1.getString(1);

				if (placaBD.equals(chave)) {
					return true;
				}

			}
			rs1.close();
			stm1.close();
			conIntranet.close();
		} catch (Exception e) {

			new SQLException();
		}
		return false;

	}

	// ------------------------------------------------------------------------------------
	public List<Cliente> buscarSeguradoCNH(String chave) throws SQLException {
		ArrayList<Cliente> clienteDB = new ArrayList<>();
		Cliente cliente;
		String sql = "SELECT * FROM cliente WHERE CNH_segurado LIKE '%" + chave
				+ "%' ORDER BY id";

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();
			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);
			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {

				cliente = new Cliente();
				cliente.setId(rs1.getInt(1));
				cliente.setApolice(rs1.getString(2));
				cliente.setCI(rs1.getString(3));
				cliente.setDataCadastro(rs1.getString(4));
				cliente.setHoraCadastro(rs1.getString(5));
				cliente.setTerminoVirgencia(rs1.getString(6));
				cliente.setStatus(rs1.getString(7));
				cliente.setBonus(rs1.getString(8));
				cliente.setDataHoraModificacao(rs1.getString(9));
				cliente.setInicioVigencia(rs1.getString(10));
				cliente.setDescricao(rs1.getString(11));
				cliente.setSeguradora(rs1.getString(12));

				// Segurado
				cliente.setEmail(rs1.getString(13));
				cliente.setTelefoneCelular(rs1.getString(14));
				cliente.setTelefoneComercial(rs1.getString(15));
				cliente.setTelefone(rs1.getString(16));
				cliente.setCPFCNPJSegurado(rs1.getString(17));
				cliente.setRGSegurado(rs1.getString(18));
				cliente.setOrgaoExpedidor(rs1.getString(19));
				cliente.setCNHSegurado(rs1.getString(20));
				cliente.setDataNascimentoSegurado(rs1.getString(21));
				cliente.setDataExpedicao(rs1.getString(22));
				cliente.setSexoSegurado(rs1.getString(23));
				cliente.setProponente(rs1.getString(24));
				cliente.setTipoPessoaSegurado(rs1.getString(25));

				// Condutor
				cliente.setCPFCNPJCondutor(rs1.getString(26));
				cliente.setNome(rs1.getString(27));
				cliente.setSexoCondutor(rs1.getString(28));
				cliente.setDataNascimentoCondutor(rs1.getString(29));
				cliente.setCNHCondutor(rs1.getString(30));
				cliente.setRGCondutor(rs1.getString(31));
				cliente.setTipoPessoaCondutor(rs1.getString(32));

				// Bem Segurado
				cliente.setChassi(rs1.getString(33));
				cliente.setPlaca(rs1.getString(34));
				cliente.setVeiculo(rs1.getString(35));
				cliente.setAnoModelo(rs1.getString(36));
				cliente.setRENAVAN(rs1.getString(37));
				cliente.setAnoFabricacao(rs1.getString(38));

				// Cobertura
				cliente.setDanosCorporais(rs1.getString(39));
				cliente.setFranquia(rs1.getString(40));
				cliente.setCarroReserva(rs1.getString(41));
				cliente.setQuantidadeDias(rs1.getString(42));
				cliente.setFarois(rs1.getString(43));
				cliente.setLanternas(rs1.getString(44));
				cliente.setVidros(rs1.getString(45));
				cliente.setTipoFranquia(rs1.getString(46));
				cliente.setDanosMateriais(rs1.getString(47));
				cliente.setRetrovisores(rs1.getString(48));
				cliente.setIdadeCobertura(rs1.getString(49));
				cliente.setSexoCobertura(rs1.getString(50));

				clienteDB.add(cliente);

			}
			rs1.close();
			stm1.close();
			conIntranet.close();

		} catch (Exception e) {
			new SQLException();
		}

		return clienteDB;
	}

	// ---------------------------------------------------------------------------------
	public List<Cliente> buscarSeguradoProponente(String chave)
			throws SQLException {
		ArrayList<Cliente> clienteDB = new ArrayList<>();
		Cliente cliente;
		String sql = "SELECT * FROM cliente WHERE proponente LIKE '%" + chave
				+ "%' ORDER BY id";

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();
			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);
			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {

				cliente = new Cliente();
				cliente.setId(rs1.getInt(1));
				cliente.setApolice(rs1.getString(2));
				cliente.setCI(rs1.getString(3));
				cliente.setDataCadastro(rs1.getString(4));
				cliente.setHoraCadastro(rs1.getString(5));
				cliente.setTerminoVirgencia(rs1.getString(6));
				cliente.setStatus(rs1.getString(7));
				cliente.setBonus(rs1.getString(8));
				cliente.setDataHoraModificacao(rs1.getString(9));
				cliente.setInicioVigencia(rs1.getString(10));
				cliente.setDescricao(rs1.getString(11));
				cliente.setSeguradora(rs1.getString(12));

				// Segurado
				cliente.setEmail(rs1.getString(13));
				cliente.setTelefoneCelular(rs1.getString(14));
				cliente.setTelefoneComercial(rs1.getString(15));
				cliente.setTelefone(rs1.getString(16));
				cliente.setCPFCNPJSegurado(rs1.getString(17));
				cliente.setRGSegurado(rs1.getString(18));
				cliente.setOrgaoExpedidor(rs1.getString(19));
				cliente.setCNHSegurado(rs1.getString(20));
				cliente.setDataNascimentoSegurado(rs1.getString(21));
				cliente.setDataExpedicao(rs1.getString(22));
				cliente.setSexoSegurado(rs1.getString(23));
				cliente.setProponente(rs1.getString(24));
				cliente.setTipoPessoaSegurado(rs1.getString(25));

				// Condutor
				cliente.setCPFCNPJCondutor(rs1.getString(26));
				cliente.setNome(rs1.getString(27));
				cliente.setSexoCondutor(rs1.getString(28));
				cliente.setDataNascimentoCondutor(rs1.getString(29));
				cliente.setCNHCondutor(rs1.getString(30));
				cliente.setRGCondutor(rs1.getString(31));
				cliente.setTipoPessoaCondutor(rs1.getString(32));

				// Bem Segurado
				cliente.setChassi(rs1.getString(33));
				cliente.setPlaca(rs1.getString(34));
				cliente.setVeiculo(rs1.getString(35));
				cliente.setAnoModelo(rs1.getString(36));
				cliente.setRENAVAN(rs1.getString(37));
				cliente.setAnoFabricacao(rs1.getString(38));

				// Cobertura
				cliente.setDanosCorporais(rs1.getString(39));
				cliente.setFranquia(rs1.getString(40));
				cliente.setCarroReserva(rs1.getString(41));
				cliente.setQuantidadeDias(rs1.getString(42));
				cliente.setFarois(rs1.getString(43));
				cliente.setLanternas(rs1.getString(44));
				cliente.setVidros(rs1.getString(45));
				cliente.setTipoFranquia(rs1.getString(46));
				cliente.setDanosMateriais(rs1.getString(47));
				cliente.setRetrovisores(rs1.getString(48));
				cliente.setIdadeCobertura(rs1.getString(49));
				cliente.setSexoCobertura(rs1.getString(50));

				clienteDB.add(cliente);

			}
			rs1.close();
			stm1.close();
			conIntranet.close();

		} catch (Exception e) {
			new SQLException();
		}

		return clienteDB;
	}

	// ---------------------------------------------------------------------------------
	public List<Cliente> buscarSeguradoCPF(String chave) throws SQLException {
		ArrayList<Cliente> clienteDB = new ArrayList<>();
		Cliente cliente;
		String sql = "SELECT * FROM cliente WHERE CPF_CNPJ_segurado Like '" + chave
				+ "%' ORDER BY id";

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();
			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);
			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {

				cliente = new Cliente();
				cliente.setId(rs1.getInt(1));
				cliente.setApolice(rs1.getString(2));
				cliente.setCI(rs1.getString(3));
				cliente.setDataCadastro(rs1.getString(4));
				cliente.setHoraCadastro(rs1.getString(5));
				cliente.setTerminoVirgencia(rs1.getString(6));
				cliente.setStatus(rs1.getString(7));
				cliente.setBonus(rs1.getString(8));
				cliente.setDataHoraModificacao(rs1.getString(9));
				cliente.setInicioVigencia(rs1.getString(10));
				cliente.setDescricao(rs1.getString(11));
				cliente.setSeguradora(rs1.getString(12));

				// Segurado
				cliente.setEmail(rs1.getString(13));
				cliente.setTelefoneCelular(rs1.getString(14));
				cliente.setTelefoneComercial(rs1.getString(15));
				cliente.setTelefone(rs1.getString(16));
				cliente.setCPFCNPJSegurado(rs1.getString(17));
				cliente.setRGSegurado(rs1.getString(18));
				cliente.setOrgaoExpedidor(rs1.getString(19));
				cliente.setCNHSegurado(rs1.getString(20));
				cliente.setDataNascimentoSegurado(rs1.getString(21));
				cliente.setDataExpedicao(rs1.getString(22));
				cliente.setSexoSegurado(rs1.getString(23));
				cliente.setProponente(rs1.getString(24));
				cliente.setTipoPessoaSegurado(rs1.getString(25));

				// Condutor
				cliente.setCPFCNPJCondutor(rs1.getString(26));
				cliente.setNome(rs1.getString(27));
				cliente.setSexoCondutor(rs1.getString(28));
				cliente.setDataNascimentoCondutor(rs1.getString(29));
				cliente.setCNHCondutor(rs1.getString(30));
				cliente.setRGCondutor(rs1.getString(31));
				cliente.setTipoPessoaCondutor(rs1.getString(32));

				// Bem Segurado
				cliente.setChassi(rs1.getString(33));
				cliente.setPlaca(rs1.getString(34));
				cliente.setVeiculo(rs1.getString(35));
				cliente.setAnoModelo(rs1.getString(36));
				cliente.setRENAVAN(rs1.getString(37));
				cliente.setAnoFabricacao(rs1.getString(38));

				// Cobertura
				cliente.setDanosCorporais(rs1.getString(39));
				cliente.setFranquia(rs1.getString(40));
				cliente.setCarroReserva(rs1.getString(41));
				cliente.setQuantidadeDias(rs1.getString(42));
				cliente.setFarois(rs1.getString(43));
				cliente.setLanternas(rs1.getString(44));
				cliente.setVidros(rs1.getString(45));
				cliente.setTipoFranquia(rs1.getString(46));
				cliente.setDanosMateriais(rs1.getString(47));
				cliente.setRetrovisores(rs1.getString(48));
				cliente.setIdadeCobertura(rs1.getString(49));
				cliente.setSexoCobertura(rs1.getString(50));

				clienteDB.add(cliente);

			}
			rs1.close();
			stm1.close();
			conIntranet.close();

		} catch (Exception e) {
			new SQLException();
		}

		return clienteDB;
	}

	// ---------------------------------------------------------------------------------
	public List<Cliente> aniversariantes() throws SQLException {

		ArrayList<Cliente> clienteDB = new ArrayList<>();
		Cliente cliente;
		String sql = "SELECT * FROM cliente ORDER BY id";

		try {
			Connection conIntranet = new ConnectionFactory().getConnection();

			PreparedStatement stm1 = (PreparedStatement) conIntranet
					.prepareStatement(sql);

			ResultSet rs1 = stm1.executeQuery();

			while (rs1.next()) {

				String dataNascimento = rs1.getString(21);

				String dataFormatado = dataNascimento.substring(0,
						dataNascimento.length() - 4);

				String dataSistema = new SimpleDateFormat("dd/MM/yyyy")
						.format(new Date());

				String dataSistemaFormatado = dataSistema.substring(0,
						dataSistema.length() - 4);

				if (dataFormatado.equals(dataSistemaFormatado)) {

					cliente = new Cliente();
					cliente.setId(rs1.getInt(1));
					cliente.setApolice(rs1.getString(2));
					cliente.setCI(rs1.getString(3));
					cliente.setDataCadastro(rs1.getString(4));
					cliente.setHoraCadastro(rs1.getString(5));
					cliente.setTerminoVirgencia(rs1.getString(6));
					cliente.setStatus(rs1.getString(7));
					cliente.setBonus(rs1.getString(8));
					cliente.setDataHoraModificacao(rs1.getString(9));
					cliente.setInicioVigencia(rs1.getString(10));
					cliente.setDescricao(rs1.getString(11));
					cliente.setSeguradora(rs1.getString(12));

					// Segurado
					cliente.setEmail(rs1.getString(13));
					cliente.setTelefoneCelular(rs1.getString(14));
					cliente.setTelefoneComercial(rs1.getString(15));
					cliente.setTelefone(rs1.getString(16));
					cliente.setCPFCNPJSegurado(rs1.getString(17));
					cliente.setRGSegurado(rs1.getString(18));
					cliente.setOrgaoExpedidor(rs1.getString(19));
					cliente.setCNHSegurado(rs1.getString(20));
					cliente.setDataNascimentoSegurado(rs1.getString(21));
					cliente.setDataExpedicao(rs1.getString(22));
					cliente.setSexoSegurado(rs1.getString(23));
					cliente.setProponente(rs1.getString(24));
					cliente.setTipoPessoaSegurado(rs1.getString(25));

					// Condutor
					cliente.setCPFCNPJCondutor(rs1.getString(26));
					cliente.setNome(rs1.getString(27));
					cliente.setSexoCondutor(rs1.getString(28));
					cliente.setDataNascimentoCondutor(rs1.getString(29));
					cliente.setCNHCondutor(rs1.getString(30));
					cliente.setRGCondutor(rs1.getString(31));
					cliente.setTipoPessoaCondutor(rs1.getString(32));

					// Bem Segurado
					cliente.setChassi(rs1.getString(33));
					cliente.setPlaca(rs1.getString(34));
					cliente.setVeiculo(rs1.getString(35));
					cliente.setAnoModelo(rs1.getString(36));
					cliente.setRENAVAN(rs1.getString(37));
					cliente.setAnoFabricacao(rs1.getString(38));

					// Cobertura
					cliente.setDanosCorporais(rs1.getString(39));
					cliente.setFranquia(rs1.getString(40));
					cliente.setCarroReserva(rs1.getString(41));
					cliente.setQuantidadeDias(rs1.getString(42));
					cliente.setFarois(rs1.getString(43));
					cliente.setLanternas(rs1.getString(44));
					cliente.setVidros(rs1.getString(45));
					cliente.setTipoFranquia(rs1.getString(46));
					cliente.setDanosMateriais(rs1.getString(47));
					cliente.setRetrovisores(rs1.getString(48));
					cliente.setIdadeCobertura(rs1.getString(49));
					cliente.setSexoCobertura(rs1.getString(50));

					clienteDB.add(cliente);
				}
			}

			rs1.close();
			stm1.close();
			conIntranet.close();

		} catch (Exception e) {
			new SQLException();

		}

		return clienteDB;
	}
	// -----------------------------------------------------------------------------------
}
